package com.banmao.mall.service.admin;

import com.banmao.mall.model.bo.admin.market.*;
import com.banmao.mall.model.pojo.Category;
import com.banmao.mall.model.pojo.Issue;
import com.banmao.mall.model.pojo.Keyword;
import com.banmao.mall.model.pojo.Order;
import com.banmao.mall.model.vo.admin.market.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface MarketService {

    /**
     *  获取行政区域
     * @return
     */
    List<ProvinceVO> regionList();

    /**
     *  获取品牌制造商信息
     * @param brandListBO
     * @return
     */
    BrandListVO brandList(BrandListBO brandListBO);

    /**
     *  图片上传
     * @param multipartFile
     * @param request
     * @return
     */
    FileUploadVO fileUpload(MultipartFile multipartFile, HttpServletRequest request);

    /**
     *  更新品牌商信息
     * @param brandBO
     * @return
     */
    BrandVO brandUpdate(BrandBO brandBO);

    /**
     *  添加品牌商信息
     * @param brandBO
     * @return
     */
    BrandVO brandCreate(BrandBO brandBO);

    /**
     *  删除品牌商信息（逻辑删除）
     * @param brandBO
     * @return
     */
    int brandDelete(BrandBO brandBO);

    /**
     *  获取商品类目一级分类
     * @return
     */
    List<CategoryL1VO> categoryL1();

    /**
     *  获取所有商品类目
     * @return
     */
    List<CategoryVO> selectAllCategory();

    /**
     *  添加类目
     * @return
     */
    Category categoryCreate(CategoryBO categoryBO);

    /**
     *  更新类目
     * @param categoryBO
     * @return
     */
    int categoryUpdate(CategoryBO categoryBO);

    int categoryDelete(CategoryBO categoryBO);

    OrderListVO getOrderList(OrderListBO orderListBO);

    OrderDetailVO getOrderDetailById(Integer id);

    int orderRefund(OrderRefundBO orderRefundBO);

    int orderShip(OrderShipBO orderShipBO);

    IssueListVO getIssueList(IssueListBO issueListBO);

    Issue issueCreate(IssuecreateBO issuecreateBO);

    Issue issueUpdate(Issue issue);

    int issueDelete(Issue issue);

    KeywordListVO getKeywordList(KeywordListBO keywordListBO);

    int keywordCreate(Keyword keyword);

    int keywordUpdate(Keyword keyword);

    int keywordDelete(Keyword keyword);
}
